home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
datasheets and manuals
/
Hardware
/
WHT
/
scsi
/
dsr_sources_2_2001
/
deallocate
< prev
next >
Wrap
Text File
|
2006-10-19
|
2KB
|
82 lines
************************************************************
* *
* Procedure DEALLOCATE *
* *
* This procedure deallocates AUs from the bitmap. The *
* input parameters to this procedure are: *
* *
* R6 - SCSI ID in the high byte *
* R7 - Starting AU to delete *
* R8 - Ending AU to deallocate *
* *
************************************************************
DEALL DATA ALWS
DATA DEALL0
* REGISTER USAGE
*
* R7, R8 - Used to read, write block #
* R2 - Current AU we're deallocating
* R0 - Offset within the word
* R1 - Offset within the block
DEALL0 CLR R7
MOV @14(R13),R2 Get starting AU
MOV @12(R13),R6 Get SCSI ID
DEALL1 MOV R2,R8
AI R8,256*8 Offset due to VIB
MOV R8,R0
* ANDI R0,>000F
MOV R8,R1
ANDI R1,>0FF0
SRL R1,3
AI R1,SECBUF
SRL R8,12
LI R5,>8000
SRC R5,0
DEALL2 BLWP @BANKIT Read the block
DATA SCSIRD
JEQ DEALL3
AI R8,16 If there was an error, read the copy
BLWP @BANKIT Read the block
DATA SCSIRD
AI R8,-16
DEALL3
SZC R5,*R1
C R2,@16(R13) See if we're done
JEQ DEALL4
INC R2
SRC R5,1
JNC DEALL3
INCT R1
CI R1,SECBUF+>200
JNE DEALL3
* Write out the bitmap and read in the next part
BLWP @BANKIT
DATA SCSIWT
AI R8,16
BLWP @BANKIT
DATA SCSIWT
AI R8,-15
LI R1,SECBUF
JMP DEALL2
* Now write out the last buffer
*
DEALL4 BLWP @BANKIT
DATA SCSIWT
AI R8,16 Write out the copy as well
BLWP @BANKIT
DATA SCSIWT
RTWP